package hah;

public class setZeros {
    public void setZeroes2(int[][] matrix) {
        int cowlen= matrix.length;;
        int collen=matrix[0].length;
        int[] cowflag=new int[cowlen];
        int[] colflag=new int[collen];
        for (int i=0;i<cowlen;i++){
            for (int j=0;j<collen;j++){
                if (matrix[i][j]==0){
                    cowflag[i]=1;
                    colflag[j]=1;
                }
            }
        }
        for (int i=0;i<cowlen;i++) {
            for (int j = 0; j < collen; j++) {
                if (cowflag[i] == 1 || colflag[j] == 1)
                    matrix[i][j] = 0;
            }
        }
    }
    public void setZeroes(int[][] matrix) {
        int row= matrix.length;;
        int col=matrix[0].length;
        boolean rowflag=false;
        boolean colflag=false;
        for (int j = 0; j < col; j++) {
            if (matrix[0][j] == 0) {
                rowflag = true;
                break;
            }
        }
        for (int i = 0; i < row; i++) {
            if (matrix[i][0] == 0) {
                colflag = true;
                break;
            }
        }
        for (int i=1;i<row;i++){
            for (int j=1;j<col;j++){
                if (matrix[i][j]==0){
                    matrix[i][0]=0;
                    matrix[0][j]=0;
                }
            }
        }
        for (int i=1;i<row;i++){
            for (int j=1;j<col;j++){
                if (matrix[i][0]==0||matrix[0][j]==0){
                    matrix[i][j]=0;
                }
            }
        }
        if (rowflag){
            for (int j = 0; j < col; j++) {
                matrix[0][j]=0;
            }
        }
        if (colflag){
            for (int i=0;i<row;i++){
                matrix[i][0]=0;
            }
        }
    }


}
